Recommender systems have been used in various application fields to recommend items (products, TV programs, songs, etc.), to mitigate the choice-problem of users that are confronted with an excessively large collection of items to choose from. There are two general approaches to construct recommender systems. In the first approach, items are represented by multiple features and the user's preferences are also expressed in terms of these features. This approach is generally referred to as content-based recommendation. Alternatively, the purchase/viewing/listening history of a large set of users is analyzed (possibly with accompanying rating information) to identify similarity between items or similarity between users. These similarities are then used to recommend new items to a user. This second approach is often referred to as collaborative filtering. The new items proposed in a collaborative filtering approach are new items that are similar to items that the user likes, or new items that are liked by users that are similar to the given user. Note that this second approach does not require specific information on the items themselves other than purchase/viewing/listening information of multiple users.
Generally speaking, a recommender system acts as filter for filtering items that might be interesting to a user. To adapt such filter to a user's expectations and needs e.g. content-based and collaborative filtering-based approaches are known.
In both the content-based and collaborative filtering-based approaches it is well known that it is difficult to provide good recommendations to new users. A new user must first rate a number of items before the recommender can learn his preferences and is able to provide good recommendations, where rating is either on a two-point scale (like/dislike) or a scale with more points (e.g. a five-point scale including like-degrees such as strong dislike, dislike, neutral, like, strong like). A problem with creating or adapting filter parameters so that they represent a specific user's preferences is that a machine cannot talk to a user to figure out user preferences. Another problem is that the information about user preferences is needed in a format that can be processed by a machine. However, such format cannot be understood or revised by an average user. Therefore a user interface is needed that can easily be understood by a user and that allows efficient collection of data that represents a user's preference. It is an underlying technical problem to generate machine-processable information from interactions of a user that is unable to provide such information directly.
Asking a user to re-rank items is known from U.S. Pat. No. 7,836,057, which was granted Nov. 16, 2010. In U.S. Pat. No. 7,839,057, a method/system is proposed to aid a user in helping to select a product, such as buying a car. The user is explicitly given a number of selection criteria that are relevant for the given product category, and for each selection criterion, he can set, with a slider, to what extent he wants to weigh the given criterion in the product selection process. As a result the system returns an ordered list of products, where the ordering is based on the weighing of the selection criteria. Next, if the user is not satisfied with the ordering of the products, he can re-rank the list of products. The system then indicates how the weighing of the selection criteria can be adjusted to realize this re-ranked list.
The method proposed in U.S. Pat. No. 7,836,057, has a number of shortcomings that make it less suitable for more complex decision processes, such as what to watch on TV or what to rent from a video-on-demand repository. To learn the taste of a new user of a TV recommender system is more complex than setting the weights of a few selection criteria. If we consider using a naive Bayesian classification approach, then the taste of a user can be represented by like-degrees for a relatively large set of feature-value pairs (see Pronk, V., W. Verhaegh, A. Proidl, and M. Tiemann. Incorporating User Control into Recommender Systems Based on Naive Bayesian Classification, in the Proceedings of the 2007, ACM Conference on Recommender Systems, RecSys 2007, pp. 73-80, Minneapolis, Minn., USA).
The nomenclature used in this paper is adopted for the present disclosure, in particular, the use of the terms like-degree as well as skewing factor. These two are related as follows. Let r be a skewing factor. Then the associated like-degree λ is given by λ=r/(1+r). Conversely, for a given like-degree λ, the associated skewing factor r is given by r=λ/(1−λ). A like degree of 0.5, corresponds to neutral, as it leads to the neutral skewing factor of 1. The range of possible like degrees is between 0, and 1, whereas the range of possible skewing factors is between 0, and infinity.
Feature-value pairs may relate to, for example, the presence of a certain actor in a given movie, or a specific genre, or a specific broadcast time, or a specific broadcast channel. Providing a user interface that gives a slider for each of these feature-value pairs would be impracticable. In addition, if so many feature-value pairs are involved, then it is undoable for a user to keep an overview of the weighing of all the different feature-value pairs, and manually setting these is not a practical option. Furthermore, explicit feedback of how the weights can be adjusted to realize a given re-ranking of a given list is equally difficult to interpret by a user.
An additional shortcoming of U.S. Pat. No. 7,836,057, is that feedback on how to adjust the weighing of the selection criteria is only based on a single re-ranked list. To capture the preferences of a user for generating TV recommendations, a single list of items is too restrictive to learn the delicate nuances that constitute a user taste. To capture the preferences of a user to generate TV recommendations, a series of re-ranking steps is needed, where the successive lists that the user is asked to re-rank are suitably chosen.
Yet another shortcoming of U.S. Pat. No. 7,836,057, for learning the taste of a TV watcher, is that users are asked to re-rank all items present in the list. For applications where the number of possible items to choose from is so extensive, as is the case for a TV watcher who can choose from TV shows currently broadcast, video-on-demand content, YouTube movies, etc., it is quite likely that a given list that a user is asked to re-rank contains one or more items that the user does not know. Even if additional information is given about the items, such as genre, then it would still be difficult for a user to rank them. Therefore, we propose that the user first deletes items from the list that he does not know (e.g. to be replaced by other items) before the list is to be re-ranked by the user.
Yet another shortcoming of U.S. Pat. No. 7,836,057, is that it is as such not possible to explicitly indicate which items in the list the user does not like. It may be that he likes all of them, none of them, or only the top m, where 0<, m<n. Hence, another aspect of a preferred embodiment of the invention is that the user can position a separator in the list between any pair of successive items, before the first, or after the last item, specifying the border between liked and not liked items.